package cn.fl.spl.service;

import cmm.mid.core.framework.page.DataResultVO;
import cn.cmm.base.framework.exception.BaseException;
import cn.fl.spl.vo.StoreStatsDataVO;
import fl.mongo.facade.analysis.condition.StoreStatsDataCondition;
import fl.mongo.facade.base.page.PaginationVo;

import java.util.List;

/**
 * Created by jiangzhongge on 2018-3-2.
 * Time 11:30.
 * Class belongs to fl-ass-service.
 */
public interface IStoreStatsDataService {

    public List<StoreStatsDataVO> getStoreStatsDataList(StoreStatsDataCondition condition) throws BaseException;

    public int  insertStoreStatsData(StoreStatsDataVO storeStatsDataVO) throws BaseException ;

    public boolean modfiyStoreStatsData(StoreStatsDataCondition condition, StoreStatsDataVO storeStatsDataVO) throws BaseException ;

    public boolean upsertStoreStatsData(StoreStatsDataCondition condition, StoreStatsDataVO storeStatsDataVO) throws BaseException ;

    public StoreStatsDataVO getOneStoreStatsData(StoreStatsDataCondition condition) throws BaseException ;

    public PaginationVo getStoreStatsDataListByPage(PaginationVo paginationVo) throws BaseException ;

    public Long statisStoreStatsDataCount(StoreStatsDataCondition condition) throws BaseException;

    public List<StoreStatsDataVO> queryAggregationDataInfo(StoreStatsDataCondition condition, String groupType, String groupParam, String aliasParam, String projectType, String sortType, String sortParam, String... fields);

    public DataResultVO exportStoreStatsRecList(StoreStatsDataCondition condition) throws BaseException;
    
    public PaginationVo getStoreStatsListByPage(PaginationVo page, String isExport)throws BaseException;
    
    public Long searchActiveUsrCount(StoreStatsDataCondition condition) throws BaseException ;

}
